package com.bytz.modules.cms.reseller.service;

import com.baomidou.mybatisplus.extension.service.IService;
import com.bytz.modules.cms.reseller.entity.EndUser;
import com.bytz.modules.cms.reseller.model.EndUserModel;
import com.bytz.modules.cms.reseller.model.ResellerModel;

import java.util.Collection;
import java.util.List;

/**
 * <p>
 * 莱宝CMS—经销商管理—终端用户基本信息表（同步c4c） 服务类
 * </p>
 *
 * @author KyleWang
 * @since 2022-10-10
 */
public interface IEndUserService extends IService<EndUser> {

    /**
     * 根据id获取终端用户列表
     */
    List<EndUser> getByIds(Collection<String> ids);

    /**
     * 根据客户名称、客户编码、公司地址模糊查询
     */
    List<EndUser> getByCustomerName(String condition);

    /**
     * 根据经销商id和关联类型获取关联终端用户
     *
     * @param resellerId 经销商id
     * @param type soldTo/shipTo
     * @return 终端用户列表
     */
    List<EndUserModel> getByResellerId(String resellerId, String type);

    /**
     * 根据经销商model保存soldTo
     */
    void saveSoldToByResellerModel(ResellerModel saveRo);

    /**
     * 根据客户编码查找
     */
    List<EndUser> findByCustomerNumber(Collection<String> customerNumbers);

    /**
     * 根据sap id获取c4c id
     */
    String getAccountIdByCustomNumber(String sapId);
}
